package org.jeecg.glr.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 传感器数据管理实体类
 * @Author: jeecg-boot
 * @Date:   2020-02-11
 * @Version: V1.0
 */
@Data
@TableName("glr_sensor_data")
public class GlrSensorData implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.UUID)
    private String id;
	/**创建人*/
	@Excel(name = "创建人", width = 15)
    private String createBy;
	/**创建日期*/
	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;
	/**更新人*/
	@Excel(name = "更新人", width = 15)
    private String updateBy;
	/**更新日期*/
	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
	/**所属部门*/
	@Excel(name = "所属部门", width = 15)
    private String sysOrgCode;
	/**所属公司*/
	@Excel(name = "所属公司", width = 15)
    private String sysCompanyCode;


	@Excel(name = "传感器编号") private String sensorCode; //传感器编号
	@TableField(exist = false)
	private String sensorName;

	@Excel(name = "雨量") private Double rainfall; //雨量

	@Excel(name = "湿度") private Double humidity; //湿度

	@Excel(name = "气压") private Double airpressure; //气压

	@Excel(name = "风速") private Double windSpeed; //风速

	@Excel(name = "风向") private String windDirection; //风向

	@Excel(name = "温度") private Double temperature; //温度

	@Excel(name = "光辐射强度") private Double opticalRadiation; //光辐射强度

	@Excel(name = "紫外线") private String ultravioletRay; //紫外线强度

	@Excel(name = "噪声") private Double noise; //噪声

	@Excel(name = "pm25") private Double pm25; //

	@Excel(name = "pm10") private Double pm10; //

	private Double voc;
	private String type;


	@Excel(name = "雨量最大值") private Double rainfallMax; //雨量最大值
	@Excel(name = "雨量最小值") private Double rainfallMin; //雨量最小值
	@Excel(name = "雨量平均值") private Double rainfallAvg; //雨量平均值

	@Excel(name = "湿度最大值") private Double humidityMax; //湿度最大值
	@Excel(name = "湿度最小值") private Double humidityMin; //湿度最小值
	@Excel(name = "湿度平均值") private Double humidityAvg; //湿度平均值

	@Excel(name = "气压最大值") private Double airpressureMax; //气压最大值
	@Excel(name = "气压最小值") private Double airpressureMin; //气压最小值
	@Excel(name = "气压平均值") private Double airpressureAvg; //气压平均值

	@Excel(name = "风速最大值") private Double windSpeedMax; //风速最大值
	@Excel(name = "风速最小值") private Double windSpeedMin; //风速最小值
	@Excel(name = "风速平均值") private Double windSpeedAvg; //风速平均值

	@Excel(name = "温度最大值") private Double temperatureMax; //温度最大值
	@Excel(name = "温度最小值") private Double temperatureMin; //温度最小值
	@Excel(name = "温度平均值") private Double temperatureAvg; //温度平均值

	@Excel(name = "光辐射强度最大值") private Double opticalRadiationMax; //光辐射强度最大值
	@Excel(name = "光辐射强度最小值") private Double opticalRadiationMin; //光辐射强度最小值
	@Excel(name = "光辐射强度平均值") private Double opticalRadiationAvg; //光辐射强度平均值

	@Excel(name = "紫外线最大值") private String ultravioletRayMax; //紫外线强度最大值
	@Excel(name = "紫外线最小值") private String ultravioletRayMin; //紫外线强度最小值
	@Excel(name = "紫外线平均值") private String ultravioletRayAvg; //紫外线强度平均值

	@Excel(name = "噪声最大值") private Double noiseMax; //噪声最大值
	@Excel(name = "噪声最小值") private Double noiseMin; //噪声最小值
	@Excel(name = "噪声平均值") private Double noiseAvg; //噪声平均值

	@Excel(name = "pm25最大值") private Double pm25Max; //pm25最大值
	@Excel(name = "pm25最小值") private Double pm25Min; //pm25最小值
	@Excel(name = "pm25平均值") private Double pm25Avg; //pm25平均值

	@Excel(name = "pm10最大值") private Double pm10Max; //pm10最大值
	@Excel(name = "pm10最小值") private Double pm10Min; //pm10最小值
	@Excel(name = "pm10平均值") private Double pm10Avg; //pm10平均值
	@TableField(exist = false)
	private Boolean alarmFlagWd;
	@TableField(exist = false)
	private Boolean alarmFlagSd;
	@TableField(exist = false)
	private Boolean alarmFlagPm25;
	@TableField(exist = false)
	private Boolean alarmFlagCo2;
	@TableField(exist = false)
	private Boolean alarmFlagVoc;

}
